This invention relates to a variable length coded data transmission device, a transmitter side device, a receiver side device, and a method thereof, for transmitting data blocks which are coded to have variable bit lengths, while reducing data losses occurrable due to code errors.
The variable length coding is a coding method, in which coded words having different bit lengths are assigned respectively to various data in accordance with frequency of appearance of each data item, in order to reduce the total quantity of code. Therefore, although the lengths and the end locations of the codes, which codes were subjected to variable length coding processing, are different from each other, it will still be possible that the individual codes are correctly decoded and the ends of the individual codes are correctly recognized only if the bit sequence is correctly read because the decoding is made at the time point when the bits are read on equivalent to the length of the specific code.
If code errors should occur during the transmission of the variable length coded data, the coded data would be decoded incorrectly as if they had different code lengths, on the decoding side. As a consequence, when an loss of synchronization occurs on the bit sequence to be read, decoding is successively carried out in a wrong manner even if no code errors occur. This, in fact, significantly deteriorates the quality of decoded data.
As one method for preventing possible adverse effects caused by such loss of synchronization due to code errors, there is known a method as discussed in a printed material by David Redmill under the heading of Ro bust Architectures for Image and Video Coding 2nd International Workshop on Mobile Multimedia communications (MoMuC), April 1995, or by David Redmill and N. G. Kingsbury under the heading of The EREC: An Error-Resilient Technique for Coding Variable-Length Blocks of Data IEEE Trans. Image Processing, vol. 5, pp. 565-574, April 1996, in which data blocks are reorganized to pseudo fixed length codes for each group of variable length coded data blocks so that the code of each data block in any selected group will become equal in length, and then each of such data blocks is transmitted.
In the method taught by those printed materials, data blocks are reorganized, on the coding side, to pseudo fixed length data blocks, and then, the data blocks are decoded and the end locations of each coded word and each data block are detected to reconstitute the data blocks into the original data blocks having variable lengths utilizing the nature or characteristic of the above-mentioned variable length codes.
Thus, even if an loss of synchronization should occur due to code errors, a synchronization would be recovered at the head of each data block by transmitting the data in the form of data blocks having fixed lengths.
There is also known another Japanese patent application No. 43118/1996 under the tile of Variable Length Coded Data Transmission Device which proposes, based on the method taught by the above-mentioned printed materials, a method for effectively preventing adverse effects from an loss of synchronization due to code errors. In order to avoid or obviate the problems inherent in the method taught by the above-mentioned printed materials in that if one data block among groups of variable length coded data blocks, having lengths of codes which are remarkably longer than other variable length coded data blocks, exists, code errors are even increased for that specific data block, the method proposed by the above-mentioned Japanese patent application makes it possible to reduce adverse effects to the data coded to have the variable lengths due to code errors by combining a method for dividing the data block which has the remarkably long code length with a method for selecting the groups of data blocks.
However, in case of either the method taught by the above-mentioned printed materials or the method taught by the above-mentioned Japanese patent application, in order to reconstitute, on the decoding side, the data blocks which are constituted to pseudo fixed length codes, into the original variable length coded data blocks, it is necessary to transmit the information on the code lengths of the data blocks having the fixed length and the number of the data blocks, together with the information on the data blocks.
Therefore, the quantity of information to be transmitted is increased to that extent. In addition, if code errors should be included in that information, it would become impossible to reconstitute the variable length coded data blocks or a reconstitution would be carried out in a wrong manner. As a result, the group of data blocks would be entirely lost.
Furthermore, in the method taught by the above-mentioned application, the division of the data blocks having the long code length and the selection of groups of data blocks are carried out. In that case, it is also necessary to transmit information on the division of data blocks and on the selection of groups, together with information on the data blocks. Therefore, even in case code errors occur to those information components, it also becomes impossible to reconstitute the data blocks, or a reconstitution is carried out in a wrong manner.
Moreover, in the method for reorganizing to pseudo fixed length codes, each code is decoded and the end locations of each coded word and each data block are detected to reconstitute the original data blocks having variable lengths from the data blocks having the fixed length, as mentioned above. At that time, if it happens that due to occurrence of code errors, a code word indicating the end of the data blocks is decoded to a different code word or other code words are decoded to a code word indicating the end of data blocks, incorrect variable length coded data blocks are obtained. However, since it is practically impossible to distinguish the correctly decoded data blocks from the incorrectly decoded data blocks, the incorrect data blocks are output in that condition.